package com.liangtian.mdm.system.forums.service.impl;

import com.liangtian.mdm.system.forums.dao.SysForumsDao;
import com.liangtian.mdm.system.forums.model.SysForums;
import com.liangtian.mdm.system.forums.service.SysForumsService;
import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.util.Arrays;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

@Service
public class SysForumsServiceImp implements SysForumsService {

    //注入dao
    @Autowired
    SysForumsDao sysForumsDao;

    /**
     * <p>TODO</p>
     *
     * @param : @param sysForums
     * @param : @return
     * @author : xiaoliu
     * @date :2017年5月4日下午2:44:13
     */

    @Override
    public List<SysForums> querySysForumsTree(Map<String, Object> param) {

        return sysForumsDao.querySysForumsTree(param);
    }

    /**
     * <p>TODO</p>
     *
     * @param : @param sysForums
     * @param : @return
     * @author : xiaoliu
     * @date :2017年5月4日下午2:44:13
     */

    @Override
    public PageInfo querySysForumsByContion(Map<String, Object> param) {
        PageInfo<List<SysForums>> pageInfo = null;
        try {
            Object pNo = param.get("pageNum");
            int pageNum, pageSize;
            if (pNo != null && !"NaN".equals(pNo)) {
                pageNum = Integer.parseInt(pNo.toString());// 页码
            } else {
                pageNum = 1;
            }
            // pageSize=0时不分页
            pageSize = Integer.parseInt(param.get("limit").toString());// 模型定义页面要显示数据条数
            PageHelper.startPage(pageNum, pageSize);// 开始分页标志（当前页，显示条数）

            List<SysForums> sysForumsLst = sysForumsDao.querySysForumsByContion(param);
            pageInfo = new PageInfo(sysForumsLst);
        } catch (Exception e) {
            e.printStackTrace();
        }
        return pageInfo;

    }

    /**
     * <p>TODO</p>
     *
     * @param : @param sysForums
     * @author : xiaoliu
     * @date :2017年5月4日下午2:44:13
     */

    @Override
    public int insertSysForums(SysForums sysForums) {
        return sysForumsDao.insertSysForums(sysForums);
    }

    /**
     * <p>TODO</p>
     *
     * @param : @param sysForums
     * @author : xiaoliu
     * @date :2017年5月4日下午2:44:13
     */

    @Override
    public void updateSysForumsStatus(SysForums sysForums) {
        sysForumsDao.updateSysForumsStatus(sysForums);
    }

    /**
     * <p>TODO</p>
     *
     * @param : @param sysForums
     * @param : @return
     * @author : xiaoliu
     * @date :2017年5月4日下午2:44:13
     */

    @Override
    public SysForums querySysForumsById(SysForums sysForums) {

        return sysForums;


    }

    /**
     * <p>TODO</p>
     *
     * @param : @param sysForums
     * @author : xiaoliu
     * @date :2017年5月4日下午2:44:13
     */

    @Override
    public void updateSysForums(SysForums sysForums) {
        sysForumsDao.updateSysForums(sysForums);
    }

    /**
     * <p>TODO</p>
     *
     * @param : @param id
     * @param : @return
     * @author : xiaoliu
     * @date :2017年5月4日下午2:44:13
     */

    @Override
    public SysForums querySysForumsOne(String forumId) {
        SysForums sysForums = sysForumsDao.querySysForumsOne(forumId);
        return sysForums;
    }

    /**
     * <p>TODO 校验栏目名称是否已经存在</p>
     *
     * @param : @param map
     * @param : @return
     * @author : xiaoliu
     * @date :2017年5月9日上午9:18:28
     */

    @Override
    public int checkForumsName(Map map) {
        return sysForumsDao.checkForumsName(map);
    }

    /**
     * <p>TODO</p>
     *
     * @param : @param map
     * @param : @return
     * @author : xiaoliu
     * @date :2017年5月9日下午5:00:13
     */

    @Override
    public int submitSysForumsData(List<String> idsList) {
        Map<String, Object> map = new HashMap<>();
        map.put("idsList", idsList);
        return sysForumsDao.submitSysForumsData(map);
    }

    /**
     * <p>TODO</p>
     *
     * @param : @param ids
     * @param : @return
     * @author : xiaoliu
     * @date :2017年7月31日上午9:51:59
     */

    @Override
    public int deleteForums(String[] ids) {
        List<String> idsLst = Arrays.asList(ids);
        Map<String, Object> map = new HashMap<>();
        map.put("idsList", idsLst);
        int delConts = sysForumsDao.deleteForums(map);
        return delConts;

    }
}
